<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="renderer" content="webkit">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= webpackConfig.name %></title>
    <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
	  <style>
    html,
    body,
    #app {
      height: 100%;
      margin: 0px;
      padding: 0px;
    }
    .chromeframe {
      margin: 0.2em 0;
      background: #ccc;
      color: #000;
      padding: 0.2em 0;
    }

    #loader-wrapper {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 999999;
      background: #070b20;
      background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.9) 0%, rgba(20, 20, 35, 0.9) 100%);
      overflow: hidden;
    }

    /* 星星背景 */
    .stars {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
    }
    
    .star {
      position: absolute;
      background-color: #ffffff;
      border-radius: 50%;
      animation: twinkle var(--duration) ease-in-out infinite;
      opacity: var(--opacity);
    }
    
    @keyframes twinkle {
      0%, 100% { opacity: var(--opacity); }
      50% { opacity: calc(var(--opacity) * 0.3); }
    }

    #loader {
      display: block;
      position: relative;
      left: 50%;
      top: 50%;
      width: 150px;
      height: 150px;
      margin: -75px 0 0 -75px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #1E90FF;
      box-shadow: 0 0 25px rgba(30, 144, 255, 0.3);
      -webkit-animation: spin 2s linear infinite;
      -ms-animation: spin 2s linear infinite;
      -moz-animation: spin 2s linear infinite;
      -o-animation: spin 2s linear infinite;
      animation: spin 2s linear infinite;
      z-index: 1001;
    }

    #loader:before {
      content: "";
      position: absolute;
      top: 5px;
      left: 5px;
      right: 5px;
      bottom: 5px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #4169E1;
      box-shadow: 0 0 15px rgba(65, 105, 225, 0.3);
      -webkit-animation: spin 3s linear infinite;
      -moz-animation: spin 3s linear infinite;
      -o-animation: spin 3s linear infinite;
      -ms-animation: spin 3s linear infinite;
      animation: spin 3s linear infinite;
    }

    #loader:after {
      content: "";
      position: absolute;
      top: 15px;
      left: 15px;
      right: 15px;
      bottom: 15px;
      border-radius: 50%;
      border: 3px solid transparent;
      border-top-color: #00BFFF;
      box-shadow: 0 0 20px rgba(0, 191, 255, 0.3);
      -moz-animation: spin 1.5s linear infinite;
      -o-animation: spin 1.5s linear infinite;
      -ms-animation: spin 1.5s linear infinite;
      -webkit-animation: spin 1.5s linear infinite;
      animation: spin 1.5s linear infinite;
    }


    @-webkit-keyframes spin {
      0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }

    @keyframes spin {
      0% {
        -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        transform: rotate(0deg);
      }
      100% {
        -webkit-transform: rotate(360deg);
        -ms-transform: rotate(360deg);
        transform: rotate(360deg);
      }
    }


    #loader-wrapper .loader-section {
      position: fixed;
      top: 0;
      width: 51%;
      height: 100%;
      z-index: 1000;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
    }

    #loader-wrapper .loader-section.section-left {
      left: 0;
    }

    #loader-wrapper .loader-section.section-right {
      right: 0;
    }


    .loaded #loader-wrapper .loader-section.section-left {
      -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
      transform: translateX(-100%);
      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    }

    .loaded #loader-wrapper .loader-section.section-right {
      -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
      transform: translateX(100%);
      -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
      transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
    }

    .loaded #loader {
      opacity: 0;
      -webkit-transition: all 0.3s ease-out;
      transition: all 0.3s ease-out;
    }

    .loaded #loader-wrapper {
      visibility: hidden;
      -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
      transform: translateY(-100%);
      -webkit-transition: all 0.3s 1s ease-out;
      transition: all 0.3s 1s ease-out;
    }

    .no-js #loader-wrapper {
      display: none;
    }

    .no-js h1 {
      color: #222222;
    }

    /* 加载文字 */
    #loader-wrapper .load_title {
      font-family: 'Arial', sans-serif;
      color: #fff;
      font-size: 20px;
      width: 100%;
      text-align: center;
      z-index: 9999999999999;
      position: absolute;
      top: 60%;
      opacity: 1;
      line-height: 30px;
      letter-spacing: 2px;
      text-shadow: 0 0 10px rgba(30, 144, 255, 0.7);
    }

    /* 系统名称 */
    #loader-wrapper .system-name {
      position: absolute;
      top: 25%;
      width: 100%;
      text-align: center;
      z-index: 1001;
    }
    
    #loader-wrapper .system-name .logo-text {
      font-size: 52px;
      font-weight: bold;
      color: #1E90FF;
      text-shadow: 0 0 20px rgba(30, 144, 255, 0.9);
      letter-spacing: 2px;
      display: inline-block;
      position: relative;
    }
    
    #loader-wrapper .system-name .logo-text:after {
      content: '';
      position: absolute;
      width: 100%;
      height: 6px;
      bottom: -8px;
      left: 0;
      background: linear-gradient(90deg, transparent, #1E90FF, transparent);
      border-radius: 50%;
      filter: blur(5px);
    }
    
    #loader-wrapper .system-name .logo-sub {
      font-size: 28px;
      color: rgba(255, 255, 255, 0.9);
      margin-left: 8px;
      font-weight: 300;
      letter-spacing: 2px;
    }

    /* 进度条 */
    .progress-bar {
      position: absolute;
      bottom: 30%;
      left: 50%;
      transform: translateX(-50%);
      width: 300px;
      height: 4px;
      background: rgba(255, 255, 255, 0.1);
      border-radius: 2px;
      overflow: hidden;
      z-index: 1001;
    }
    
    .progress-bar .progress {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, #1E90FF, #4169E1);
      box-shadow: 0 0 10px rgba(30, 144, 255, 0.7);
      animation: progressAnim 3s ease-in-out infinite;
    }
    
    @keyframes progressAnim {
      0% { width: 0%; }
      50% { width: 70%; }
      80% { width: 90%; }
      100% { width: 100%; }
    }

    #loader-wrapper .load_title span {
      font-weight: normal;
      font-style: italic;
      font-size: 13px;
      color: rgba(255, 255, 255, 0.7);
      opacity: 0.8;
      margin-top: 10px;
      display: block;
      animation: blink 1.5s infinite;
    }
    
    @keyframes blink {
      0%, 100% { opacity: 0.8; }
      50% { opacity: 0.5; }
    }
  </style>
  </head>
  <body>
    <div id="app">
	    <div id="loader-wrapper">
        <div class="stars" id="stars"></div>
        <div class="system-name">
          <span class="logo-text">海隆</span>
          <span class="logo-sub">设备租赁管理平台</span>
        </div>
		    <div id="loader"></div>
		    <div class="loader-section section-left"></div>
		    <div class="loader-section section-right"></div>
        <div class="progress-bar">
          <div class="progress"></div>
        </div>
		    <div class="load_title">正在加载系统资源
          <span>请耐心等待...</span>
        </div>
      </div>
	  </div>
    
    <script>
      // 创建星星背景
      document.addEventListener('DOMContentLoaded', function() {
        const stars = document.getElementById('stars');
        
        // 确保stars元素存在
        if (!stars) {
          console.warn('Stars element not found');
          return;
        }
        
        const starCount = 150; // 星星数量
        
        for (let i = 0; i < starCount; i++) {
          const star = document.createElement('div');
          star.className = 'star';
          
          // 随机大小
          const size = Math.random() * 2.5;
          star.style.width = size + 'px';
          star.style.height = size + 'px';
          
          // 随机位置
          star.style.top = Math.random() * 100 + '%';
          star.style.left = Math.random() * 100 + '%';
          
          // 随机透明度
          const opacity = Math.random() * 0.8 + 0.2;
          star.style.setProperty('--opacity', opacity);
          
          // 随机动画时长
          const duration = Math.random() * 3 + 2 + 's';
          star.style.setProperty('--duration', duration);
          
          stars.appendChild(star);
        }
      });
      
      // 确保在页面完全加载后执行动画和DOM操作
      window.addEventListener('load', function() {
        // 延迟执行以确保所有元素都已经渲染
        setTimeout(function() {
          try {
            document.body.classList.add('loaded');
            
            // 重新尝试创建星星（如果之前失败）
            const stars = document.getElementById('stars');
            if (stars && !stars.hasChildNodes()) {
              const starCount = 150;
              for (let i = 0; i < starCount; i++) {
                const star = document.createElement('div');
                star.className = 'star';
                
                const size = Math.random() * 2.5;
                star.style.width = size + 'px';
                star.style.height = size + 'px';
                
                star.style.top = Math.random() * 100 + '%';
                star.style.left = Math.random() * 100 + '%';
                
                const opacity = Math.random() * 0.8 + 0.2;
                star.style.setProperty('--opacity', opacity);
                
                const duration = Math.random() * 3 + 2 + 's';
                star.style.setProperty('--duration', duration);
                
                stars.appendChild(star);
              }
            }
          } catch (e) {
            console.error('Error during page load animation:', e);
          }
        }, 500);
      });
    </script>
  </body>
</html>
